package com.jinxin.platform.cdelecinspect.mapper;

import com.jinxin.platform.cdelecinspect.mapper.pojo.EleinspectMappingPointLine;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.HashMap;
import java.util.List;

/**
 * <b>[eleinspectMappingPointLine]数据访问接口</b>
 *
 * <p>
 * 注意:此文件自动生成-禁止手工修改
 * </p>
 *
 * @author @blue
 * @date 2020-03-31
 */
@Mapper
public interface EleinspectMappingPointLineMapper {

	/**
	 * 插入一个数据持久化对象
	 *
	 * @param eleinspectMappingPointLine
	 *            要插入的数据持久化对象
	 * @return 返回影响行数
	 */
	int insert(EleinspectMappingPointLine eleinspectMappingPointLine);

	/**
	 * 根据主键修改数据持久化对象
	 *
	 * @param eleinspectMappingPointLine
	 *            要修改的数据持久化对象
	 * @return int 返回影响行数
	 */
	int updateByKey(EleinspectMappingPointLine eleinspectMappingPointLine);

	/**
	 * 根据主键查询并返回数据持久化对象
	 *
	 * @return EleinspectMappingPointLine
	 */
	EleinspectMappingPointLine selectByKey(@Param(value = "mappingId") String mappingId);

	/**
	 * 根据点位ID查询并返回数据持久化对象
	 * @param pointId
	 * @return
	 */
	EleinspectMappingPointLine selectByPointId(@Param(value = "pointId") String pointId);

	/**
	 * 根据唯一组合条件查询并返回数据持久化对象
	 *
	 * @return EleinspectMappingPointLine
	 */
	EleinspectMappingPointLine selectOne(HashMap param);

	/**
	 * 根据param查询并返回数据持久化对象集合
	 *
	 * @return List<EleinspectMappingPointLine>
	 */
	List<EleinspectMappingPointLine> list(HashMap param);

	/**
	 * 返回分页数据持久化对象集合
	 *
	 * @return List<EleinspectMappingPointLine>
	 */
	List<EleinspectMappingPointLine> listPage(HashMap param);
    /**
     * 返回分页数据总数
     *
     * @return
     */
    int listPageCount(HashMap param);

	/**
	 * 根据主键删除数据持久化对象
	 *
	 * @return 影响行数
	 */
	int deleteByKey(@Param(value = "mappingId") String mappingId);

	/**
	 * 根据线路ID删除数据持久化对象
	 * @param lineId
	 * @return
	 */
	int deleteByLineId(@Param(value = "lineId") String lineId);

	/**
	 * 根据点位ID删除数据持久化对象
	 * @param pointId
	 * @return
	 */
	int deleteByPointId(@Param(value = "pointId") String pointId);


	/**
	 * 线路-点位批量插入
	 * @param pointList
	 * @return
	 */
	List<EleinspectMappingPointLine> insertList(List<EleinspectMappingPointLine> pointList);
	
}
